Discovery of Locality-Improving Refactorings by Reuse Path Analysis

نویسندگان

  • Kristof Beyls
  • Erik H. D'Hollander
چکیده

Due to the huge speed gaps in the memory hierarchy of modern computer architectures, it is important that programs maintain a good data locality. Improving temporal locality implies reducing the distance of data reuses that are far apart. The best existing tools indicate locality bottlenecks by highlighting both the source locations generating the use and the subsequent cache-missing reuse. Even with this knowledge of the bottleneck locations in the source code, it often remains hard to find an effective code refactoring that improves temporal locality, due to the unclear interaction of function calls and loop iterations occurring between use and reuse. The contributions in this paper are two-fold. First, the locality analysis is enhanced to not only pinpoint the cache bottlenecks, but to also suggest code refactorings that may resolve them. The refactorings are found by analyzing the dynamic hierarchy of function calls and loops on the code path between reuses, called reuse paths. Secondly, reservoir sampling of the reuse paths results in a significant reduction of the execution time and memory requirements during profiling, enabling the analysis of realistic programs. An interactive GUI, called SLO (Suggestions for Locality Optimizations), has been used to explore the most appropriate refactorings in a number of SPEC2000 programs. After refactoring, the execution time of the selected programs was halved, on the average.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Path-Based Reuse Distance Analysis

Profiling can effectively analyze program behavior and provide critical information for feedback-directed or dynamic optimizations. Based on memory profiling, reuse distance analysis has shown much promise in predicting data locality for a program using inputs other than the profiled ones. Both wholeprogram and instruction-based locality can be accurately predicted by reuse distance analysis. R...

متن کامل

Understanding Unfulfilled Memory Reuse Potential in Scientific Applications

The potential for improving the performance of data-intensive scientific programs by enhancing data reuse in cache is substantial because CPUs are significantly faster than memory. Traditional performance tools typically collect or simulate cache miss counts or rates and attribute them at the function level. While such information identifies program scopes that suffer from poor data locality, i...

متن کامل

Distance-Based Locality Analysis and Prediction

Profiling can accurately analyze program behavior for select data inputs. This article shows that profiling can also predict program locality for inputs other than profiled ones. Here locality is defined by the distance of data reuse. The article describes three distance-based techniques for whole-program locality analysis. The first is approximate measurement of reuse distance in near linear t...

متن کامل

The forgotten role of methenamine to prevent recurrent urinary tract infection: urgency for reuse 100 years after discovery

    In conclusion, UTI is a globally distributed disease with emergence of multidrug-resistant bacteria; thus, new drug discovery or activation of previously used drugs is an urgent issue. Methenamine has been suggested as a beneficial agent for the UTI prevention as it works as a urinary antiseptic by safely producing formaldehyde to prevent bacterial growth while avoiding bacterial resistance...

متن کامل

Investigating Embedded Question Reuse in Question Answering

The investigation presented in this paper is a novel method in question answering (QA) that enables a QA system to gain performance through reuse of information in the answer to one question to answer another related question. Our analysis shows that a pair of question in a general open domain QA can have embedding relation through their mentions of noun phrase expressions. We present methods f...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006